--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
android/app/src/main/java/com/meshchatx/rnode/ProductCatalog.java e0f1f99cd1c208c5008a936230c38e448dddd45d (e0f1f99c) Text, 6.22 KB
Tff7b72package T7ee787com.meshchatx.rnodeTb4b4b4;
Tff7b72import T7ee787android.content.ContextTb4b4b4;
Tff7b72import T7ee787org.json.JSONArrayTb4b4b4;
Tff7b72import T7ee787org.json.JSONObjectTb4b4b4;
Tff7b72import T7ee787java.io.BufferedReaderTb4b4b4;
Tff7b72import T7ee787java.io.InputStreamTb4b4b4;
Tff7b72import T7ee787java.io.InputStreamReaderTb4b4b4;
Tff7b72import T7ee787java.nio.charset.StandardCharsetsTb4b4b4;
Tff7b72import T7ee787java.util.ArrayListTb4b4b4;
Tff7b72import T7ee787java.util.IteratorTb4b4b4;
Tff7b72import T7ee787java.util.LinkedHashMapTb4b4b4;
Tff7b72import T7ee787java.util.ListTb4b4b4;
Tff7b72import T7ee787java.util.MapTb4b4b4;
T8b949e/** Loads RNode ESP flash product catalog from assets/rnode_products.json. */
Tff7b72public Tff7b72final Tff7b72class T56d364ProductCatalog Tb4b4b4{
Tff7b72public Tff7b72static Tff7b72final Tff7b72class T56d364Model Tb4b4b4{
Tff7b72public Tff7b72final Tffa657int Te6edf3idTb4b4b4;
Tff7b72public Tff7b72final Te6edf3String Te6edf3nameTb4b4b4;
Tff7b72public Tff7b72final Te6edf3Integer Te6edf3mappedIdTb4b4b4;
Tff7b72public Tff7b72final Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Te6edf3flashFilesTb4b4b4;
Tff7b72public Tff7b72final Te6edf3String Te6edf3flashSizeTb4b4b4;
Tff7b72public Tff7b72final Te6edf3String Te6edf3firmwareFilenameTb4b4b4;
Te6edf3ModelTb4b4b4(
Tffa657int Te6edf3idTb4b4b4,
Te6edf3String Te6edf3nameTb4b4b4,
Te6edf3Integer Te6edf3mappedIdTb4b4b4,
Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Te6edf3flashFilesTb4b4b4,
Te6edf3String Te6edf3flashSizeTb4b4b4,
Te6edf3String Te6edf3firmwareFilename
Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3id Tff7b72= Te6edf3idTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3name Tff7b72= Te6edf3nameTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3mappedId Tff7b72= Te6edf3mappedIdTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3flashFiles Tff7b72= Te6edf3flashFilesTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3flashSize Tff7b72= Te6edf3flashSizeTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3firmwareFilename Tff7b72= Te6edf3firmwareFilenameTb4b4b4;
Tb4b4b4}
Tf0883e@Override
Tff7b72public Te6edf3String Td2a8fftoStringTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3nameTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72public Tff7b72static Tff7b72final Tff7b72class T56d364Product Tb4b4b4{
Tff7b72public Tff7b72final Te6edf3String Te6edf3nameTb4b4b4;
Tff7b72public Tff7b72final Tffa657int Te6edf3idTb4b4b4;
Tff7b72public Tff7b72final Tffa657int Te6edf3platformTb4b4b4;
Tff7b72public Tff7b72final Te6edf3String Te6edf3firmwareFilenameTb4b4b4;
Tff7b72public Tff7b72final Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Te6edf3flashFilesTb4b4b4;
Tff7b72public Tff7b72final Te6edf3String Te6edf3flashSizeTb4b4b4;
Tff7b72public Tff7b72final Te6edf3ListTff7b72<Te6edf3ModelTff7b72> Te6edf3modelsTb4b4b4;
Te6edf3ProductTb4b4b4(
Te6edf3String Te6edf3nameTb4b4b4,
Tffa657int Te6edf3idTb4b4b4,
Tffa657int Te6edf3platformTb4b4b4,
Te6edf3String Te6edf3firmwareFilenameTb4b4b4,
Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Te6edf3flashFilesTb4b4b4,
Te6edf3String Te6edf3flashSizeTb4b4b4,
Te6edf3ListTff7b72<Te6edf3ModelTff7b72> Te6edf3models
Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3name Tff7b72= Te6edf3nameTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3id Tff7b72= Te6edf3idTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3platform Tff7b72= Te6edf3platformTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3firmwareFilename Tff7b72= Te6edf3firmwareFilenameTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3flashFiles Tff7b72= Te6edf3flashFilesTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3flashSize Tff7b72= Te6edf3flashSizeTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3models Tff7b72= Te6edf3modelsTb4b4b4;
Tb4b4b4}
Tf0883e@Override
Tff7b72public Te6edf3String Td2a8fftoStringTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3nameTb4b4b4;
Tb4b4b4}
Tff7b72public Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Td2a8ffresolveFlashFilesTb4b4b4(Te6edf3Model Te6edf3modelTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3model Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Te6edf3modelTb4b4b4.Te6edf3flashFiles Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3modelTb4b4b4.Te6edf3flashFilesTb4b4b4.Te6edf3isEmptyTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3modelTb4b4b4.Te6edf3flashFilesTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3flashFilesTb4b4b4;
Tb4b4b4}
Tff7b72public Te6edf3String Td2a8ffresolveFirmwareFilenameTb4b4b4(Te6edf3Model Te6edf3modelTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3model Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Te6edf3modelTb4b4b4.Te6edf3firmwareFilename Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Tff7b72!Te6edf3modelTb4b4b4.Te6edf3firmwareFilenameTb4b4b4.Te6edf3isEmptyTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3modelTb4b4b4.Te6edf3firmwareFilenameTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3firmwareFilenameTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72private Tff7b72final Te6edf3ListTff7b72<Te6edf3ProductTff7b72> Te6edf3productsTb4b4b4;
Tff7b72private Td2a8ffProductCatalogTb4b4b4(Te6edf3ListTff7b72<Te6edf3ProductTff7b72> Te6edf3productsTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3products Tff7b72= Te6edf3productsTb4b4b4;
Tb4b4b4}
Tff7b72public Tff7b72static Te6edf3ProductCatalog Td2a8ffemptyTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Te6edf3ProductCatalogTb4b4b4(Tff7b72new Te6edf3ArrayListTff7b72<Tff7b72>Tb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72public Te6edf3ListTff7b72<Te6edf3ProductTff7b72> Td2a8ffproductsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3productsTb4b4b4;
Tb4b4b4}
Tff7b72public Tff7b72static Te6edf3ProductCatalog Td2a8ffloadTb4b4b4(Te6edf3Context Te6edf3contextTb4b4b4) Tff7b72throws Te6edf3Exception Tb4b4b4{
Te6edf3String Te6edf3jsonTb4b4b4;
Tff7b72try Tb4b4b4(Te6edf3InputStream Te6edf3in Tff7b72= Te6edf3contextTb4b4b4.Te6edf3getAssetsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3openTb4b4b4(Ta5d6ff"Ta5d6ffrnode_products.jsonTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3BufferedReader Te6edf3reader Tff7b72=
Tff7b72new Te6edf3BufferedReaderTb4b4b4(Tff7b72new Te6edf3InputStreamReaderTb4b4b4(Te6edf3inTb4b4b4, Te6edf3StandardCharsetsTb4b4b4.Te6edf3UTF_8Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3StringBuilder Te6edf3sb Tff7b72= Tff7b72new Te6edf3StringBuilderTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3String Te6edf3lineTb4b4b4;
Tff7b72while Tb4b4b4(Tb4b4b4(Te6edf3line Tff7b72= Te6edf3readerTb4b4b4.Te6edf3readLineTb4b4b4(Tb4b4b4)Tb4b4b4) Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3sbTb4b4b4.Te6edf3appendTb4b4b4(Te6edf3lineTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3json Tff7b72= Te6edf3sbTb4b4b4.Te6edf3toStringTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3JSONArray Te6edf3arr Tff7b72= Tff7b72new Te6edf3JSONArrayTb4b4b4(Te6edf3jsonTb4b4b4)Tb4b4b4;
Te6edf3ListTff7b72<Te6edf3ProductTff7b72> Te6edf3products Tff7b72= Tff7b72new Te6edf3ArrayListTff7b72<Tff7b72>Tb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tffa657int Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3arrTb4b4b4.Te6edf3lengthTb4b4b4(Tb4b4b4)Tb4b4b4; Te6edf3iTff7b72+Tff7b72+Tb4b4b4) Tb4b4b4{
Te6edf3JSONObject Te6edf3obj Tff7b72= Te6edf3arrTb4b4b4.Te6edf3getJSONObjectTb4b4b4(Te6edf3iTb4b4b4)Tb4b4b4;
Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Te6edf3flashFiles Tff7b72= Te6edf3readFlashFilesTb4b4b4(Te6edf3objTb4b4b4.Te6edf3optJSONObjectTb4b4b4(Ta5d6ff"Ta5d6ffflash_configTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3String Te6edf3flashSize Tff7b72= Te6edf3readFlashSizeTb4b4b4(Te6edf3objTb4b4b4.Te6edf3optJSONObjectTb4b4b4(Ta5d6ff"Ta5d6ffflash_configTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3ListTff7b72<Te6edf3ModelTff7b72> Te6edf3models Tff7b72= Tff7b72new Te6edf3ArrayListTff7b72<Tff7b72>Tb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3JSONArray Te6edf3modelsArr Tff7b72= Te6edf3objTb4b4b4.Te6edf3optJSONArrayTb4b4b4(Ta5d6ff"Ta5d6ffmodelsTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3modelsArr Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tffa657int Te6edf3j Tff7b72= T79c0ff0Tb4b4b4; Te6edf3j Tff7b72< Te6edf3modelsArrTb4b4b4.Te6edf3lengthTb4b4b4(Tb4b4b4)Tb4b4b4; Te6edf3jTff7b72+Tff7b72+Tb4b4b4) Tb4b4b4{
Te6edf3JSONObject Te6edf3m Tff7b72= Te6edf3modelsArrTb4b4b4.Te6edf3getJSONObjectTb4b4b4(Te6edf3jTb4b4b4)Tb4b4b4;
Te6edf3Integer Te6edf3mapped Tff7b72= Te6edf3mTb4b4b4.Te6edf3hasTb4b4b4(Ta5d6ff"Ta5d6ffmapped_idTa5d6ff"Tb4b4b4) Tff7b72&Tff7b72& Tff7b72!Te6edf3mTb4b4b4.Te6edf3isNullTb4b4b4(Ta5d6ff"Ta5d6ffmapped_idTa5d6ff"Tb4b4b4)
Tff7b72? Te6edf3mTb4b4b4.Te6edf3getIntTb4b4b4(Ta5d6ff"Ta5d6ffmapped_idTa5d6ff"Tb4b4b4)
Tb4b4b4: Tff7b72nullTb4b4b4;
Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Te6edf3modelFlash Tff7b72= Te6edf3readFlashFilesTb4b4b4(Te6edf3mTb4b4b4.Te6edf3optJSONObjectTb4b4b4(Ta5d6ff"Ta5d6ffflash_configTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3String Te6edf3modelSize Tff7b72= Te6edf3readFlashSizeTb4b4b4(Te6edf3mTb4b4b4.Te6edf3optJSONObjectTb4b4b4(Ta5d6ff"Ta5d6ffflash_configTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3modelsTb4b4b4.Te6edf3addTb4b4b4(
Tff7b72new Te6edf3ModelTb4b4b4(
Te6edf3mTb4b4b4.Te6edf3getIntTb4b4b4(Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3mTb4b4b4.Te6edf3getStringTb4b4b4(Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3mappedTb4b4b4,
Te6edf3modelFlashTb4b4b4,
Te6edf3modelSizeTb4b4b4,
Te6edf3mTb4b4b4.Te6edf3optStringTb4b4b4(Ta5d6ff"Ta5d6fffirmware_filenameTa5d6ff"Tb4b4b4, Tff7b72nullTb4b4b4)
Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3productsTb4b4b4.Te6edf3addTb4b4b4(
Tff7b72new Te6edf3ProductTb4b4b4(
Te6edf3objTb4b4b4.Te6edf3getStringTb4b4b4(Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3objTb4b4b4.Te6edf3getIntTb4b4b4(Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3objTb4b4b4.Te6edf3getIntTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3objTb4b4b4.Te6edf3optStringTb4b4b4(Ta5d6ff"Ta5d6fffirmware_filenameTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3flashFilesTb4b4b4,
Te6edf3flashSizeTb4b4b4,
Te6edf3models
Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72new Te6edf3ProductCatalogTb4b4b4(Te6edf3productsTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72private Tff7b72static Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Td2a8ffreadFlashFilesTb4b4b4(Te6edf3JSONObject Te6edf3flashConfigTb4b4b4) Tb4b4b4{
Te6edf3MapTff7b72<Te6edf3StringTb4b4b4, Te6edf3StringTff7b72> Te6edf3map Tff7b72= Tff7b72new Te6edf3LinkedHashMapTff7b72<Tff7b72>Tb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3flashConfig Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3mapTb4b4b4;
Tb4b4b4}
Te6edf3JSONObject Te6edf3files Tff7b72= Te6edf3flashConfigTb4b4b4.Te6edf3optJSONObjectTb4b4b4(Ta5d6ff"Ta5d6ffflash_filesTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3files Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3mapTb4b4b4;
Tb4b4b4}
Te6edf3IteratorTff7b72<Te6edf3StringTff7b72> Te6edf3keys Tff7b72= Te6edf3filesTb4b4b4.Te6edf3keysTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3keysTb4b4b4.Te6edf3hasNextTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3String Te6edf3key Tff7b72= Te6edf3keysTb4b4b4.Te6edf3nextTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3mapTb4b4b4.Te6edf3putTb4b4b4(Te6edf3keyTb4b4b4, Te6edf3filesTb4b4b4.Te6edf3optStringTb4b4b4(Te6edf3keyTb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3mapTb4b4b4;
Tb4b4b4}
Tff7b72private Tff7b72static Te6edf3String Td2a8ffreadFlashSizeTb4b4b4(Te6edf3JSONObject Te6edf3flashConfigTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3flashConfig Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Ta5d6ff4MBTa5d6ff"Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3flashConfigTb4b4b4.Te6edf3optStringTb4b4b4(Ta5d6ff"Ta5d6ffflash_sizeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff4MBTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────